#include <iostream>
#include <cstdlib>
#include <cstring>
using namespace std;
/*
	用函数重载实现求多个整数，多个小数，多个字符，多个字符串中的最大者
*/
//参数：第一个 数组用来存放多个数据   第二个 数组中有多少个数据
int max(int array[],int num)
{
	int i;
	int maxnum=array[0];
	for(i=1; i<num; i++)
	{
		if(array[i]>maxnum)
			maxnum=array[i];
	}
	return maxnum;
}

float max(float array[],int num)
{
	int i;
	float maxnum=array[0];
	for(i=1; i<num; i++)
	{
		if(array[i]>maxnum)
			maxnum=array[i];
	}
	return maxnum;
}

char max(char array[],int num)
{
	int i;
	char maxnum=array[0];
	for(i=1; i<num; i++)
	{
		if(array[i]>maxnum)
			maxnum=array[i];
	}
	return maxnum;
}

char *max(char *array[],int num)
{
	int i;
	char *maxstring=(char *)malloc(50); //使用堆空间，千万不要用栈空间
	strcpy(maxstring,array[0]);
	for(i=1; i<num; i++)
	{
		if(strcmp(array[i],maxstring)>0)
			strcpy(maxstring,array[i]);
	}
	return maxstring;
}


int  main()
{
	int a[5]={45,4,78984,52,6};
	float b[4]={42.3,11.2,96.4,1.3};
	char c[5]={'u','o','@','$','*'};
	char *d[4]={"hello","gec","zhangsan","wangwu"};
	cout<<max(a,5)<<endl;
	cout<<max(b,4)<<endl;
	cout<<max(c,5)<<endl;
	cout<<max(d,4)<<endl;
}